/*
============================================================================
 Name        : util.h
 Author      : Jian (raphyer@hotmail.com)
 Version     :
 Copyright   : GPL
 Description : util.h - header file
============================================================================
*/
#ifndef __DD_UTIL_H
#define __DD_UTIL_H

#include "dd_define.h"
#include "sd_lock.h"

__DD_BEGIN_DECLS

int dd_util_init() ;

void dd_log_sem(void* lock, const char* fileName, int line, int isWait) ;

int dd_atoi(const char* str, int* value) ;

char* dd_newstr(const char* str) ;

char* dd_newstr_with_len(const char* str, int len) ;

char* dd_str_tolower(const char* str) ;

char* dd_str_trim(char* str) ;

int dd_str_hex2i(const char* hexStr) ;

char* dd_str_split(const char* str, const char* beginSep, const char* endSep) ;

int dd_ungzip(char* src, int srcLen, char* dest, int destLen) ;

/* if lock is not empty the function will wait the lock first to make thread safe logic */
int dd_file_size(sd_file* file, sd_semp* lock) ;

int dd_file_read(sd_file* file, void* ptr, int len, int pos, sd_semp* lock) ;

int dd_file_write(sd_file* file, void* ptr, int len, int pos, sd_semp* lock) ;

__DD_END_DECLS

#endif	/* __DD_UTIL_H */

/* End of File */
